package com.算法.软件设计与开发.试题编号_2_1_1_小学生数学辅助学习系统关键算法;

import java.util.Scanner;

public class 任务三_趣味试题_2_关键算法 {
    /**
     * 判断一个整数是否为“水仙花数”。所谓“水仙花数”是指一个三位的整数，其各位数字立方和等于该数本身。
     * 例如：153 是一个“水仙花数”，因为 153=13＋53＋33。
     * 注意：用带有一个输入参数的函数(或方法)实现，返回值类型为布尔类型.
     * @param args
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个三位整数:");
        int nextInt = sc.nextInt();

        if (shuixianhua(nextInt)){
            System.out.println(nextInt+"--yes");
        }else{
            System.out.println(nextInt+"--no");
        }
        System.out.println();
        forshui(1000);
    }

    public static Boolean shuixianhua(int nextInt){
        int gewei = nextInt % 10;
        int shiwei = nextInt / 10 % 10;
        int baiwei = nextInt / 100;
        if((gewei*gewei*gewei+shiwei*shiwei*shiwei+baiwei*baiwei*baiwei) == nextInt){
            return true;
        }else{
            return false;
        }
    }

    public static void forshui(int num){

        for (int i = 100; i < num; i++) {
            int gewei = i % 10;
            int shiwei = i / 10 % 10;
            int baiwei = i / 100;
            if((gewei*gewei*gewei+shiwei*shiwei*shiwei+baiwei*baiwei*baiwei) == i){
                System.out.println(i);
            }
        }
    }
}
